package BigInteger;

import java.math.BigInteger;
import java.util.Random;

public class test {
    public static void main(String[] args) {
        //表示随机一个0~2的4次方-1的整数
        BigInteger bd1 = new BigInteger(4, new Random());
        System.out.println(bd1);

        //一字符串的形式输入，返回整数形式，对范围没有限制
        BigInteger bd2 = new BigInteger("12");
        System.out.println(bd2);
        /*BigInteger bd2=new BigInteger("1.1");（字符串中只能输入整数，小数||字母都不行）
        System.out.println(bd2);
        BigInteger bd2=new BigInteger("abc");
        System.out.println(bd2);*/


        //获取一个指定进制的整数
        //字符串中的数字必须是整数
        //字符串的数字必须跟进制吻合
        //比如二进制中，那么只能写0和1，否则会报错
        BigInteger bd3 = new BigInteger("100", 4);//2进制的100
        System.out.println(bd3);

        //静态方法中获取BigInteger的对象，内部有优化
        //只能获取long范围内的数
        BigInteger bd4 = BigInteger.valueOf(100);
        System.out.println(bd4);
        BigInteger bd5 = BigInteger.valueOf(16);
        BigInteger bd6 = BigInteger.valueOf(16);
        //优化：提前创建了-16~16的对象，这样多次使用时不用反复创建其对象
        BigInteger bd7 = BigInteger.valueOf(17);
        BigInteger bd8 = BigInteger.valueOf(17);
        System.out.println(bd5 == bd6);
        System.out.println(bd7 == bd8);
    }
}
